package com.pace.cloud.myrule;

import com.netflix.loadbalancer.IRule;
import com.netflix.loadbalancer.RandomRule;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * @auther dsl
 * @create 2020-02-19 19:00
 */
@Configuration
public class MySelfRule
{
    @Bean
    public IRule myRule()
    {
        System.out.println("随机");
        return new RandomRule();//定义为随机
//        return new RoundRobinRule();//定义为轮询
//        return new RetryRule();// 先按照RoundRobinRule策略获取服务，如果获取失败则在指定时间重连
//        return new BestAvailableRule();// 会过滤掉多次访问失败的服务，然后挑一个并发量最小的连接
//        return new AvailabilityFilteringRule();// 先过滤失败的服务，挑并发最小的连接
//        return new WeightedResponseTimeRule();// 继承RoundRobinRule并增加了权重
    }
}
